﻿/*
 ******************************************************************
 *      
 * 域名空间　	: GreatB2C.Business
 * 类　名　称	: Producer.cs
 * 类　功　能	: 返回数据集是基于Model对象
 * 类　流　程    :                             
 * 运用算法　	:                             
 * 编　写　人	: wangchao             
 * 编写日期　	: 2011/4/4
 * 最近更新日期　:	    
 * 版　　本　	: V1.0                           
 * 描　　述　	: Descript of Class                                                 
 *                                        
 ******************************************************************
*/

using System;
using System.Text;
using System.Data;
using System.Collections;
using GreatB2C.DALFactory;

namespace GreatB2C.Business
{
    /// <summary>
    /// 类描述：
    /// </summary>
    [Serializable]
    public class Producer
    {
        private IProducer bll;

        public Producer( )
        {
            bll = DataAccess.CreateProducer( );
        }

        #region implement methods

        /// <summary>
        /// 检查是否有重复记录。
        /// 注意：这里要手动修改一下，需要加入次主键做为第二条件（主要是为了修改操作）
        /// </summary>
        /// <param name="objModel">对应的数据映射类</param>
        /// <returns>操作结果：true-成功 false-失败</returns>
        public bool IsExists( GreatB2C.Model.Producer objModel )
        {
            return bll.IsExists( objModel );
        }

        /// <summary>
        /// 检索出表中所有记录	
        /// </summary>
        /// <returns>返回对象数据集合</returns>
        public DataTable ListProducer( )
        {
            return bll.ListProducer( );
        }

        /// <summary>
        /// 根据表中主键ID查询记录信息
        /// </summary>
        /// <param name="objModel">相应的对象映射模型</param>
        /// <returns>返回对象数据映射</returns>
        public GreatB2C.Model.Producer ListByID( GreatB2C.Model.Producer objModel )
        {
            return bll.ListByID( objModel );
        }

        /// <summary>
        /// 新增一条新记录到表中
        /// </summary>
        /// <param name="objModel">相应的对象映射模型</param>
        /// <returns>操作结果：true-成功 false-失败</returns>
        public bool Insert( GreatB2C.Model.Producer objModel )
        {
            return bll.Insert( objModel );
        }

        /// <summary>
        /// 根据主键ID更新指定记录
        /// </summary>
        /// <param name="objModel">相应的对象映射模型</param>
        /// <returns>操作结果：true-成功 false-失败</returns>
        public bool Update( GreatB2C.Model.Producer objModel )
        {
            return bll.Update( objModel );
        }

        /// <summary>
        /// 根据主键删除指定记录
        /// </summary>
        /// <param name="objModel">相应的对象映射模型</param>
        /// <returns>操作结果：true-成功 false-失败</returns>
        public bool Delete( GreatB2C.Model.Producer objModel )
        {
            return bll.Delete( objModel );
        }

        /// <summary>
        /// 根据ID列表批量删除记录
        /// 数据格式：1,2,3,4,5
        /// </summary>
        /// <param name="strList">ID列表</param>
        /// <returns>操作结果：true-成功 false-失败</returns>
        public bool DeleteList( string strList )
        {
            return bll.DeleteList( strList );
        }

        /// <summary>
        /// 根据主键ID更新启用标识
        /// </summary>
        /// <param name="producerID">厂商编号</param>
        /// <param name="passed">是否启用</param>
        /// <returns>操作结果：true-成功 false-失败</returns>
        public bool UpdateProducerPassed( int producerID , bool passed )
        {
            return bll.UpdateProducerPassed( producerID , passed );
        }

        /// <summary>
        /// 根据主键ID更新固顶标识
        /// </summary>
        /// <param name="producerID">厂商编号</param>
        /// <param name="passed">是否固顶</param>
        /// <returns>操作结果：true-成功 false-失败</returns>
        public bool UpdateProducerTop( int producerID , bool onTop )
        {
            return bll.UpdateProducerTop( producerID , onTop );
        }

        /// <summary>
        /// 根据主键ID更新推荐状态
        /// </summary>
        /// <param name="objModel">相应的对象映射模型</param>
        /// <returns>操作结果：true-成功 false-失败</returns>
        public bool UpdateProducerElite( int producerID , bool isElite )
        {
            return bll.UpdateProducerElite( producerID , isElite );
        }

        /// <summary>
        /// 根据厂商类别检索出表中所有记录	
        /// </summary>
        /// <param name="producerType">厂商类别</param>
        /// <returns>操作结果：true-成功 false-失败</returns>
        public DataTable ListProducerByType( int producerType )
        {
            return bll.ListProducerByType( producerType );
        }

        /// <summary>
        /// 根据厂商启用状态检索出表中厂商信息	
        /// </summary>
        /// <param name="passed">启用状态</param>
        /// <returns>数据集合</returns>
        public DataTable ListProducerByPassed( bool passed )
        {
            return bll.ListProducerByPassed( passed );
        }


        #endregion
    }
}

